encyklopedia.space

Secure Boot

Secure Boot – mechanizm wbudowany w nowoczesny firmware komputera, którego celem jest zapewnienie, że podczas uruchamiania systemu operacyjnego uruchamiane są wyłącznie oprogramowanie posiadające ważny podpis cyfrowy. System ten został opracowany w ramach specyfikacji UEFI (Unified Extensible Firmware Interface) i ma na celu ochronę przed atakami typu boot‑time malware, takimi jak rootkity czy modyfikacje sektora rozruchowego.

Historia

Wczesne komputery korzystały z tradycyjnego BIOS, który po uruchomieniu nie weryfikował integralności kodu rozruchowego. W wyniku rosnącej liczby zagrożeń w latach 2000‑tych, konsorcjum Intel oraz inne firmy technologiczne opracowały standard UEFI, w którym po raz pierwszy wprowadzono koncepcję Trusted Boot. W 2011 roku Microsoft wprowadził wymóg włączenia Secure Boot w systemach operacyjnych Windows 8 i nowszych, a później rozwiązanie to zostało zaadaptowane w dystrybucjach Linux (np. Ubuntu, Fedora).

Podstawowe zasady działania

  1. Klucze i certyfikaty cyfrowe – firmware przechowuje zestaw zaufanych kluczy publicznych (tzw. Platform Key – PK) oraz listę bazy kluczy (Key Exchange Key – KEK). Każdy komponent uruchamiany w kolejnych fazach rozruchu (bootloader, kernel, sterowniki) musi być podpisany przy pomocy klucza prywatnego odpowiadającego jednemu z kluczy w bazie.
  2. Weryfikacja łańcucha zaufania – podczas startu systemu firmware najpierw weryfikuje podpis obrazu bootloadera. Jeśli weryfikacja się powiedzie, bootloader może uruchomić kolejny etap (np. jądro systemu), które również musi być podpisane.
  3. Mechanizm fallback – w przypadku niepowodzenia weryfikacji firmware może przejść w tryb awaryjny (tzw. Secure Boot off) lub wyświetlić komunikat wymagający interwencji użytkownika.

Implementacja w UEFI

Specyfikacja UEFI definiuje następujące elementy związane z Secure Boot:

  • Platform Key (PK) – główny klucz, który autoryzuje dostęp do bazy kluczy KEK.
  • Key Exchange Key (KEK) – lista kluczy delegowanych przez PK, używana do dodawania i usuwania podpisów w Database (DB) i DBX.
  • Database (DB) – zbiór certyfikatów i podpisów zaufanych komponentów.
  • DBX – lista odwołanych (revoked) podpisów i certyfikatów, które nie są już akceptowane.

Wsparcie w systemach operacyjnych

Obecnie Secure Boot jest obsługiwany przez większość popularnych systemów operacyjnych:

  • Windows 10 i nowsze – wymagają podpisu Microsoftu lub własnych kluczy wprowadzonych przez administratora.
  • Linux – dystrybucje takie jak Ubuntu, Fedora i openSUSE są dostarczane z podpisanymi obrazami shim oraz grub2, które umożliwiają uruchomienie jądra po weryfikacji.
  • Android – w urządzeniach mobilnych używa się podobnego mechanizmu o nazwie Verified Boot, opierającego się na TPM i podpisach producenta.

Zalety

  • Ochrona przed nieautoryzowanymi modyfikacjami firmware i bootloadera.
  • Ułatwienie wykrywania i usuwania rootkitów oraz innych złośliwych oprogramowań działających przed systemem operacyjnym.
  • Wsparcie dla szyfrowania dysków (np. BitLocker) poprzez zapewnienie spójnego stanu środowiska startowego.

Ograniczenia i podatności

Mimo licznych korzyści, Secure Boot nie eliminuje wszystkich zagrożeń:

  • Możliwość obejścia poprzez wgranie własnych kluczy (tzw. key injection) – wymaga fizycznego dostępu do komputera.
  • Problemy z kompatybilnością starszych systemów operacyjnych i narzędzi nieposiadających podpisów.
  • Ataki na sam firmware (np. MAGEIA exploit) mogą obejść weryfikację, jeśli atakujący uzyska uprawnienia do modyfikacji UEFI.

Przyszłość i rozwój

W kolejnych wersjach UEFI planowane jest wprowadzenie Secure Boot 2.0, które ma rozszerzyć:

  • Wsparcie dla algorytmów kryptograficznych post‑quantum (np. Kyber).
  • Dynamiczne zarządzanie kluczami przy użyciu TPM 2.0.
  • Lepszą integrację z systemami zarządzania polityką bezpieczeństwa (Intune, Ansible).

Jak włączyć lub wyłączyć Secure Boot

Ustawienia Secure Boot są dostępne w menu konfiguracji firmware – najczęściej pod nazwą Security lub Boot. Procedura zazwyczaj obejmuje:

  1. Wejście do UEFI (klawisz Del, F2 lub inny w zależności od producenta).
  2. Wybranie opcji Secure Boot i ustawienie jej na Enabled lub Disabled.
  3. Ewentualne wprowadzenie własnych kluczy (opcjonalnie w trybie Custom).
  4. Zapisanie zmian i ponowne uruchomienie komputera.

Powiązane pojęcia

Secure Boot stanowi kluczowy element nowoczesnych strategii ochrony infrastruktury informatycznej, zapewniając integralność najniższego poziomu oprogramowania i minimalizując ryzyko przejęcia kontroli nad systemem już przed jego uruchomieniem.